package com.cz.mydao.annotation;

import com.cz.mydao.constant.SqlKey;
import com.cz.mydao.enumeration.IdType;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * 功能描述: 主键字段
 * @author: 程长
 * @date: 2024/12/23 18:10
 * @version: 1.0
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PrimaryKey {

    /**
     * 主键名
     */
    String columnName();

    /**
     * 主键数据类型
     */
    String fieldType() default SqlKey.VARCHAR_255;

    /**
     * 主键增长类型
     */
    IdType type() default IdType.AUTO_INCREMENT;

    /**
     * 是否允许为空
     */
    String isNullable() default SqlKey.NOT_NULL;

    /**
     * 字段描述
     */
    String comment() default "";
}
